package evemanutool.gui.general.tabel;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import evemanutool.constants.GUIConstants;
public class HeaderRenderer implements TableCellRenderer, GUIConstants {
DefaultTableCellRenderer renderer;
int[] aligns;
int[] editable;
public HeaderRenderer(JTable table, int[] aligns) {
this.aligns = aligns;
this.editable = new int[0];
renderer = (DefaultTableCellRenderer) table.getTableHeader().getDefaultRenderer();
}
public HeaderRenderer(JTable table, int[] aligns, int[] editable) {
this.aligns = aligns;
this.editable = editable;
renderer = (DefaultTableCellRenderer) table.getTableHeader().getDefaultRenderer();
}
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
renderer.setHorizontalAlignment(aligns[col]);
Component c = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
//Color if editable.
for (int i : editable) {
if (i == col) {
c.setForeground(EDITABLE_TABLE_HEAD);
}
}
return c;
}
}